﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Data.SqlClient;

namespace QLCN
{
    public partial class frmDiBienDong : Form
    {
        private string ServerName = Chung.ServerName;
        private string DatabaseName = Chung.DatabaseName;
        private string UserDatabase = Chung.UserDatabase;
        private string PassWordDatabase = Chung.PasswordDatabase;
        private string ChuoiKetNoi = "";
        private SqlDataAdapter sqlDataAdapter;
        private SqlConnection sqlConnection;
        private SqlCommand sqlCommand;
        private SqlDataReader sqlDataReader;
        private DataSet sqlDataSet;
        private DataTable sqlTable;

        public String Maso;
       
        public frmDiBienDong()
        {
            InitializeComponent();
        }

        private void frmDiBienDong_Load(object sender, EventArgs e)
        {
            dataGridView1.Visible = true;            
            try
            {              
                Tim("");
                //lấy mã để đưa vào mã đối tượng để tìm
                txtMaHS.Text = Chung.Maso;
            }
            catch (Exception ex)
            {
                MessageBox.Show("Đang có lỗi nạp đữ liệu lên :" + ex.Message);
            }
        }
        
        private void Tim(string DieuKien)
        {
            ChuoiKetNoi = "Data Source = " + Chung.ServerName + ";" + "Initial Catalog = " + Chung.DatabaseName + ";" +
              "persist security info = true;" + "User Id=" + Chung.UserDatabase + "; Password='" + Chung.PasswordDatabase + "'; Connect Timeout =50";
            try
            {
                string sql = " select [IDDoiTuong], [IDDiBien],[HoLot] as 'Họ', [Ten] as 'và tên ',[NgaySinh] as 'Ngày sinh', [GT] as 'Giới tính',[TenDoiTuongMT] as 'Thuộc đối tượng',[NgayBatDauSDMT] as 'Ngày bắt đầu SDMT', [NgaySDMTGanNhat] as 'Ngày sử dụng gần đây'";
                sql = sql + ",[TenLoaiMT] as 'loại MT sử dụng', [TenHTSD] as 'Hình thức sử dụng',[LyDoSDMT] as 'Lý do sử dụng', [NgayBatDauDotCN] as 'Ngày bắt đầu'";
                sql = sql + ",[NgayKetThucDotCN] as 'ngày kết thúc', [BienPhapCN] as 'Biện pháp cai', [ThoiHanCN] as 'Thời hạn cai', [CaiNghienTai] as 'Cai nghiện tại'";
                sql = sql + ",[LyDoHetDotCN] as 'Lý do hết', [NgayVeCongDong] as 'Ngày về hoặc khỏi CĐ', LogDiBienDoiTuong.Active as 'ngày cập nhật', [CoQuanChuyenDen] as 'Cơ quan chuyên đến'";
                sql = sql + ",[QDSo] as 'QĐ số' , [DieuKien] as 'Điều kiện phân loại', [PhanLoai] as 'Phân loại',[SuHopTacBanThan] as 'Sự hợp tác của bản thân'";
                sql = sql + ",[SuHopTacGiaDinh] as 'Sự hợp tác của gia đinh', [DanhGiaHoanThanh] as 'đánh giá hoàn thành'";
                sql = sql + ",[LogDiBienCN], [LogDiBienSC],[LogDiBienMe], [LogDiBienCD]";

                sql = sql + " from LogDiBienDoiTuong left join  DuLieuDoiTuong on dulieudoituong.IDDoiTuong=LogDiBienDoiTuong.IDDoiTuongDiBien";
                sql = sql + " left join DmDoiTuongMT on DmDoiTuongMT.MaDoiTuongMT = LogDiBienDoiTuong.ThuocDTDiBien";
                sql = sql + " left join DmHinhThucSuDung on DmHinhThucSuDung.MaHTSD = LogDiBienDoiTuong.LoaiMTSD";
                sql = sql + " left join DmLoaiMaTuy on DmLoaiMaTuy.IDLoaiMT = LogDiBienDoiTuong.HinhThucSD";

                sql = sql + DieuKien + " order by IDDiBien DESC";
                //" where IDDoiTuong='" + DieuKien + "'";
                //mo ket noi
                sqlConnection = new SqlConnection(ChuoiKetNoi);
                sqlConnection.Open();
                // tao thong qua ket noi da mo
                sqlDataAdapter = new SqlDataAdapter(sql, sqlConnection);
                //Khoi tao doi tuong dataset
                sqlDataSet = new DataSet();
                //Dien du lieu vao doi tuong Dataset 
                sqlDataAdapter.Fill(sqlDataSet);
                sqlTable = sqlDataSet.Tables[0];
                //chuyen len các ô Lưới
                dataGridView1.DataSource = sqlTable;

                sqlDataAdapter.Dispose();
                sqlConnection.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Lỗi load dữ liệu ! " + ex.Message, "Thông báo :");
            }
        }

        private void button4_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnTimkiem_Click(object sender, EventArgs e)
        {
            string sql = "";
            try
            { 
            if ((txtHoTen.Text.Trim() == "") && (txtMaHS.Text.Trim() == "") && (cboDoiTuongMT.Text.Trim() == "") && (txtSoHS.Text.Trim() == ""))
            {
                Tim("");
            }
            else
            {
                {  //Tim theo ma ho so
                    if (txtMaHS.Text != "")
                        sql = " Where IDDoiTuong='" + txtMaHS.Text.Trim() + "'";
                    //Tim theo ho va ten
                    if (txtHoTen.Text != "")
                    {
                        //tach lay ho va ten
                        String Ten = "";
                        String Ho = "";
                        string kytu = "";

                        int i = txtHoTen.Text.Trim().Length - 1;
                        while ((i < txtHoTen.Text.Trim().Length) && (i > 0))
                        {
                            kytu = txtHoTen.Text.Trim().Substring(i - 1, 1);
                            if (kytu == " ")
                            {
                                Ten = txtHoTen.Text.Trim().Substring(i, txtHoTen.Text.Trim().Length - i);
                                Ho = txtHoTen.Text.Trim().Substring(0, i - 1).Trim();
                                i = txtHoTen.TextLength + 2;
                            }
                            else
                                i -= 1;

                        }
                        if (i == 0) Ten = txtHoTen.Text.Trim();
                        if (sql == "")

                            sql = sql + " Where HoLot =N'" + Ho + "' or Ten like N'%" + Ten + "%'";


                        else
                            sql = sql + "or HoLot =N'" + Ho + "' or Ten like N'%" + Ten + "%'";


                    }
                    //Tìm theo ngay sinh                       
                    if (txtNgaySinh.Text.Trim() != "/  /")
                    {

                        if (sql == "")

                            sql = sql + " Where Ngaysinh ='" + txtNgaySinh.Text.Trim() + "'";
                        else
                            sql = sql + "or Ngaysinh = ='" + txtNgaySinh.Text.Trim() + "'";

                    }
                    //Tìm theo hồ sơ                       
                    if (txtSoHS.Text.Trim() != "")
                    {
                        
                    
                        if (sql == "")

                            sql = sql + " Where IDDiBien ='" + txtSoHS.Text.Trim() + "'";
                        else
                            sql = sql + "or IDDiBien ='" + txtSoHS.Text.Trim() + "'";

                    }
                }
                Tim(sql);
            }

        }
            catch (Exception ex)
            {
                MessageBox.Show("Đang có lỗi nạp đữ liệu lên : " + ex.Message);
            }
}

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            txtMaHS.Text = dataGridView1.CurrentRow.Cells[0].Value.ToString();

            try
            {
                //BtnCapnhat.Enabled = true;
                int row = e.RowIndex;
                int CurrentIndex = dataGridView1.CurrentCell.RowIndex;
                txtMaHS.Text = dataGridView1.Rows[CurrentIndex].Cells[0].Value.ToString().Trim();
                txtSoHS.Text = dataGridView1.Rows[CurrentIndex].Cells[1].Value.ToString().Trim();
                lblDoiTuong.Text = dataGridView1.Rows[CurrentIndex].Cells[6].Value.ToString().Trim();
                txtHoTen.Text = dataGridView1.Rows[CurrentIndex].Cells[2].Value.ToString().Trim() + " " + dataGridView1.Rows[CurrentIndex].Cells[3].Value.ToString().Trim();
                txtNgaySinh.Text= dataGridView1.Rows[CurrentIndex].Cells[4].Value.ToString().Trim();
                //cboDoiTuongMT.Text = myTable.Rows[row]["Ten_Nghe_NV1"].ToString();
                //cboHuyen.Text = myTable.Rows[row]["Trinh_Do_Dang_Ky"].ToString();

                if (dataGridView1.CurrentCell.ColumnIndex == 0)
                {
                    //hs = txtMaHS.Text.ToString();
                }
                else
                {
                    //hs = dataGridView1.Rows[CurrentIndex].Cells[0].Value.ToString().Trim();
                }





            }
            catch (Exception)
            {

            }
        }

        private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {

        }
    }
}
